package swimv2.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import Swimv2.Feedback;
import Swimv2.GestioneAiutiRemote;
import Swimv2.UtenteRegistrato;

/**
 * Servlet implementation class ElencoFeedback
 */
public class ElencoFeedback extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ElencoFeedback() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Controlla che l'utente sia loggato altrimenti lo reindirizza alla index del sito.
		HttpSession session = request.getSession();
		UtenteRegistrato user = (UtenteRegistrato) session.getAttribute("utente");
	    if (user==null){
	    	response.sendRedirect("Index.jsp");
	    	return;
	    }else if(user.getTipo().equals("amministratore")){
			response.sendRedirect("Notifiche");
			return;
		}
// Vado a recuperare il GestioneAmicizieRemote per poter lavorare con i beans.
		GestioneAiutiRemote r= null;
		r= GestoreSession.gestioneAiuti();
// Viene richiesto l'elenco dei feedback riceuti dall'utente e se esiste questo elenco viene messo nella session cosi da poter 
//essere utilizzata dalla jsp. Infine si viene reindirizzati alla pagina VisualizzaFeedback.jsp
		String richiesto=(String)request.getParameter("richiesto");
		Feedback[] feedback=null;
		if (richiesto==null){
			feedback= r.restituisciFeedback(user.getUsername());
		}else
		{
			feedback= r.restituisciFeedback(richiesto);
			session.setAttribute("utentefeedback", richiesto);
		}
		if (feedback!=null){
			session.setAttribute("feedback", feedback);
		}
		
		RequestDispatcher dispatcher;
		if (richiesto==null){
			dispatcher= getServletContext().getRequestDispatcher("/VisualizzaFeedback.jsp");
		}else{
			dispatcher= getServletContext().getRequestDispatcher("/VisualizzaFeedbackUtente.jsp");
		}
		dispatcher.forward(request,response);
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.sendRedirect("Notifiche");
	}

}
